package com.amsp.oa.oademo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@TableName("fixed_asset_cancellation")
@ApiModel(value = "固定资产注销申请单", description = "固定资产注销申请单信息")
public class FixedAssetCancellation {

    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "申请单编号")
    private String requestNo;

    @ApiModelProperty(value = "是否设备(0-否，1-是)")
    private Boolean isEquipment;

    @ApiModelProperty(value = "是否仪器(0-否，1-是)")
    private Boolean isInstrument;

    @ApiModelProperty(value = "是否治具(0-否，1-是)")
    private Boolean isFixture;

    @ApiModelProperty(value = "是否工具(0-否，1-是)")
    private Boolean isTool;

    @ApiModelProperty(value = "是否其他(0-否，1-是)")
    private Boolean isOther;

    @ApiModelProperty(value = "保管部门")
    private String custodyDepartment;

    @ApiModelProperty(value = "申请日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate applicationDate;

    @ApiModelProperty(value = "是否报废(0-否，1-是)")
    private Boolean isScrapped;

    @ApiModelProperty(value = "是否遗失(0-否，1-是)")
    private Boolean isLost;

    @ApiModelProperty(value = "是否折价出售(0-否，1-是)")
    private Boolean isSoldAtDiscount;

    @ApiModelProperty(value = "资产编号")
    private String assetNumber;

    @ApiModelProperty(value = "资产名称")
    private String assetName;

    @ApiModelProperty(value = "型号")
    private String model;

    @ApiModelProperty(value = "规格")
    private String specification;

    @ApiModelProperty(value = "购入日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate purchaseDate;

    @ApiModelProperty(value = "购入金额")
    private BigDecimal purchaseAmount;

    @ApiModelProperty(value = "已摊折旧")
    private BigDecimal depreciatedAmount;

    @ApiModelProperty(value = "残值")
    private BigDecimal residualValue;

    @ApiModelProperty(value = "预估损益")
    private BigDecimal estimatedProfitLoss;

    @ApiModelProperty(value = "申请原因说明")
    private String applicationReason;

    @ApiModelProperty(value = "建议处置方案")
    private String suggestedDisposalPlan;

    @ApiModelProperty(value = "总经理")
    private String generalManager;

    @ApiModelProperty(value = "部长/总监")
    private String director;

    @ApiModelProperty(value = "部门经理")
    private String departmentManager;

    @ApiModelProperty(value = "主管")
    private String supervisor;

    @ApiModelProperty(value = "保管人")
    private String custodian;

    @ApiModelProperty(value = "总裁/董事长意见")
    private String presidentOpinion;

    @ApiModelProperty(value = "会专业部门意见")
    private String specializedDepartmentOpinion;

    @ApiModelProperty(value = "会财务部意见")
    private String financeDepartmentOpinion;

    @ApiModelProperty(value = "承办人1")
    private String undertaker1;

    @ApiModelProperty(value = "承办人2")
    private String undertaker2;

    @ApiModelProperty(value = "核准申请日期")
    private LocalDate approvalDate;

    @ApiModelProperty(value = "处置结果报告")
    private String disposalResultReport;

    @ApiModelProperty(value = "是否有出售证明(0-否，1-是)")
    private Boolean isSalesProof;

    @ApiModelProperty(value = "是否有货款收受凭证(0-否，1-是)")
    private Boolean isPaymentReceipt;

    @ApiModelProperty(value = "是否有机器设备履历卡(0-否，1-是)")
    private Boolean isMachineResume;

    @ApiModelProperty(value = "总经理2")
    private String generalManager2;

    @ApiModelProperty(value = "部长/总监2")
    private String director2;

    @ApiModelProperty(value = "部门经理2")
    private String departmentManager2;

    @ApiModelProperty(value = "主管2")
    private String supervisor2;

    @ApiModelProperty(value = "总裁/董事长意见2")
    private String presidentOpinion2;

    @ApiModelProperty(value = "财务管理部意见")
    private String financeManagementOpinion;

    @ApiModelProperty(value = "是否批准")
    private String isApproved;

    @ApiModelProperty(value = "企业管理部意见")
    private String enterpriseManagementOpinion;

    @ApiModelProperty(value = "承办人3")
    private String undertaker3;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "是否删除(0-未删除，1-已删除)")
    @TableLogic
    private Integer isDeleted;
}